//rom实现：从文件中加载数据
//w:模块参数，地址位宽，默认4
//b:模块参数，字长（1次读取的位数）
//  默认值为32
//fileName:模块参数，存储ROM数据的文件名
//a:输入，地址,位宽为w
//d:输出，ROM中位于地址a的1个字，位宽为b
module rom_case(a,d);
  parameter w=4;
  parameter b=32;
  parameter fileName="datafile";
  input [w-1:0] a;
  output [b-1:0] d;
  //rom数组，元素个数=字数，
  //每个元素位宽为b
  reg [b-1:0] rom [2**w-1:0];
  initial begin
      $readmemh(fileName,rom);
  end
  assign d=rom[a];
endmodule

